package InterfaceDemo;

public class DeviceDemo {
    public static void main(String[] args) {
        Device printer = new printer1("HP");
        Device smartBoard = new SmartBoard("BOE");

        NetworkDevice networkPrinter = new printer1("Canon");
        UsbDevice usbPrinter = new printer1("EPSON");

        // 演示1：多态调用设备开关机
        System.out.println("----- 设备开关机演示 -----");
        DeviceManager.managePower(printer, true);       // HP打印机开机
        DeviceManager.managePower(smartBoard, true);    // BOE电子白板开机
        DeviceManager.managePower(printer, false);      // HP打印机关机


        // 演示2：接口回调（统一处理网络连接）
        System.out.println("\n----- 网络连接演示 -----");
        DeviceManager.manageNetwork(networkPrinter);    // Canon打印机通过网络连接成功
        DeviceManager.manageNetwork((NetworkDevice) smartBoard);  // BOE电子白板通过网络连接成功


        // 演示3：接口回调（统一处理USB连接）
        System.out.println("\n----- USB连接演示 -----");
        DeviceManager.manageUsb(usbPrinter);
    }
}
